package controller;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.Scanner;

import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

import view.NeueZulieferungPanel;

public class NeueZulieferungAbhoerer implements ActionListener, ChangeListener {
	private final String fnLag = ".\\Daten\\Buchung.txt";

	NeueZulieferungPanel neueZulieferung;
	
	public NeueZulieferungAbhoerer( NeueZulieferungPanel neueZulieferung ) {
		this.neueZulieferung = neueZulieferung;
	}
	@Override
	public void actionPerformed(ActionEvent event) {
		Object quelle = event.getSource();
		if ( quelle == neueZulieferung.bestaetigeGesMenge ){
			neueZulieferung.bestaetigeGesMengenEingabe();
		}
		if ( quelle == neueZulieferung.bestaetigeMenge) {
			neueZulieferung.bestaetigeBuchung();
		}
		if ( quelle == neueZulieferung.zulieferungBestaetigen) {
			neueZulieferung.zulieferungAnlegen();
		}
		if ( quelle == neueZulieferung.undo) {
			neueZulieferung.undo();
		}
		if ( quelle == neueZulieferung.redo) {
			neueZulieferung.redo();
		}
	}
	
	/* Nettes TODO:
	private void speichereLieferung() {

		int id;
		int menge;
		int ueberLager;

		id = 1;

		File file = new File(fnLag);
		try {
			Scanner datei = new Scanner(file);
			while (datei.hasNextLine()) {
				try {
					String datenSatz = datei.nextLine();
					Scanner sc = new Scanner(datenSatz).useDelimiter(";");
					id = (sc.nextInt());
				} catch (NumberFormatException e) {
					e.printStackTrace();
				}
			}
		} catch (FileNotFoundException e) {
			System.out.printf("Datei <%s> nicht gefunden!\n", fnLag);
			// e.printStackTrace();
		}

		id++;
		bestand = 209;
		ueberLager = 1;

		BufferedWriter out;
		try {
			out = new BufferedWriter(new OutputStreamWriter(
					new FileOutputStream(fnLag, true)));
			try {
				out.newLine();
				out.write(id + ";" + name + ";" + bestand + ";" + ueberLager);
				out.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}
	*/

	@Override
	public void stateChanged(ChangeEvent e) {
		neueZulieferung.mengeAendern();		
	}

}
